Method and system for identifying regeneration points in a Markov chain Monte Carlo simulation

ABSTRACT

The method of the present invention is to modify an initial target distribution it by combining it with a point mass concentrated on an “artificial atom” α which is outside the state-space X. A Markov chain may then be constructed using any known technique (for example, using the Metropolis-Hastings Algorithm) with the new target distribution. For this chain, the state α is Harris-recurrent (i.e. with probability one, it occurs infinitely many times). By the Markov property, the times at which the new chain hits α are regeneration times. To recover an ergodic chain with limiting distribution π, it is sufficient simply to delete every occurrence of the state α from the new chain. The points immediately after the (deleted) occurrences of the state α are then regeneration times in a Markov chain with limiting distribution π.

STATEMENT REGARDING FEDERALLY FUNDED RESEARCH

[0001] The present invention was funded in part by the National Science Foundation under grant numbers DMS 9819950 and DMS 9801401. The Federal government may have rights in this invention.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention is directed generally to Markov chain Monte Carlo simulations and, more particularly, to a practical method of obtaining regeneration in a Markov chain.

[0004] 2. Description of the Background

[0005] In statistics, answers to questions are often obtained by constructing statistical models of real-life situations and then analyzing the various probabilities of certain events occurring in the models. Such techniques can be used to determine the probability (based on collected data), for instance, that it will rain tomorrow, that a share price will exceed $20 with the next few months, or that there is racial bias in a company's hiring policies.

[0006] Of course, the validity of the analysis then relies quite heavily on the quality of the statistical model (i.e. on how well it approximates reality). In the past, statisticians have been inclined to “bend” reality to fit a specific group of models that they could work with. However, with the advent of Markov chain Monte Carlo (MCMC) methods, this is no longer necessary. MCMC methods allow statisticians to work with extremely complicated models. This means that statisticians can choose much more realistic models for analysis than they have previously.

[0007] There are some drawbacks, however. MCMC methods are computationally intensive, relying on simulation of large numbers of “possible outcomes.” Furthermore, although the precision of answers to questions increases as the MCMC continues to generate simulations, it is difficult to compute this precision once the MCMC run is finished. Another drawback is the burn-in problem, that is, uncertainty about how long it takes before the chain is (by some measure) sufficiently close to its limiting distribution. Another drawback is the inherent correlation between successive elements of the chain. This correlation makes it difficult to estimate the variance of the Monte Carlo estimates.

[0008] Regeneration in MCMC is a tool which enables statisticians to avoid the burn-in problem and to determine relatively accurately the precision of estimates at the end of the MCMC run. Essentially, regeneration mitigates two of the major problems with MCMC methods. In addition, it provides a very convenient means of using parallel-processors to construct a single MCMC run. (In the past, people have used parallel processors to generate lots of short MCMC runs instead of one long one, but others have argued that one long run is better than multiple short runs.)

[0009] Early work on regenerative simulation can be found in M. A. Crane and D. L. Iglehart, Simulating Stable Stochastic Systems, I: General multi-server queues, Journal of the Association of Computing Machinery, 21:103-113, 1975, M. A. Crane and D. L. Iglehart, Simulating stable stochastic systems, II: Markov chains, Journal of the Association of Computing Machinery, 21:114-123, 1975 and M. A. Crane and A. J. Lemoine, An Introduction to the Regenerative Method for Simulation Analysis, volume 4 of Lecture Notes in Control and Information Sciences, Springer, 1977, while more recent discussion can be found in B. D. Ripley, Stochastic Simulation, Wiley, 1987 and P. Mykland, L. Tierney, and B. Yu, Regeneration in Markov chain samplers, Journal of the American Statistical Association, 90:233-241, 1995. Loosely speaking, a regenerative process “starts again” probabilistically at each of a set of random regeneration points, called regeneration points. Furthermore, conditioned on any regenerative point, the future of the process is independent of the past. (Probably the simplest example of a set of regeneration points is the set of hitting times of some arbitrary fixed state. However, this example is not very interesting for most continuous state-space chains, because the expected time between such regeneration points can be infinite.)

[0010] If regeneration points can be identified in the Markov chain, then tours of the chain between these times are (on an appropriate probability space) independent, identically distributed (i.i.d.) entities. Thus, if a fixed number of tours is generated, it makes no sense to discard any initial tours, or indeed, any part of the first tour, because properties of the “clipped” tour would be quite different from properties of the other un-clipped tours. In this sense, the problem of burn-in is avoided. In addition, because the tours are i.i.d, when estimating the expectation of an arbitrary function of a parameter, the variance of the estimator itself can be estimated. There are further benefits as well. In constructing a regenerative chain, it is not necessary for all the tours to be generated on a single processor, and it is therefore possible to use parallel processors to generate a single long chain with the desired target distribution.

[0011] Previous methods of using regeneration in MCMC simulation have been limited by the complexity of their implementation. Hence they are not used much in practice. Thus, the need exists for a method of identifying regeneration points that is practical and simple to implement.

SUMMARY OF THE PRESENT INVENTION

[0012] The method of the present invention is to modify an initial target distribution π by combining it with a point mass concentrated on an “artificial atom” α which is outside the state-space X. A Markov chain may then be constructed using any known technique (for example, using the Metropolis-Hastings Algorithm) with the new target distribution. For this chain, the state α is Harris-recurrent (i.e. with probability one, it occurs infinitely many times). By the Markov property, the times at which the new chain hits α are regeneration times. To recover an ergodic chain with limiting distribution π, it is sufficient simply to delete every occurrence of the state α from the new chain. The points immediately after the (deleted) occurrences of the state α are then regeneration times in a Markov chain with limiting distribution π.

[0013] The method of the present invention avoids the burn-in problem. In addition, because the tours are i.i.d, when estimating the expectation of an arbitrary function of a parameter, the variance of the estimator itself can be estimated. In constructing a regenerative chain, it is not necessary for all the tours to be generated on a single processor, and it is therefore possible to use parallel processors to generate a single long chain in a parallel, or distributed, manner with the desired target distribution. Those advantages and benefits, and others, will be apparent from the Description of the Preferred Embodiments herein below.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] For the present invention to be easily understood and readily practiced, the present invention will now be described, for purposes of illustration and not limitation, in conjunction with the following figures, wherein:

[0015]FIG. 1 illustrates the beginning of a realization of a Markov chain {Y_(t)} taking values in E=X∪{α}and Y_(t)=α for t∈{0, 5, 9, 10, 11, 16};

[0016]FIG. 2 illustrates the beginning of the chain {Z_(t)} obtained from the chain {Y_(t)} shown in FIG. 1 where the values for Y_(t)=α have been removed;

[0017]FIG. 3 is a flow chart illustrating a method for calculating {Y_(t)}; and

[0018]FIG. 4 illustrates a network in which the method of the present invention may be carried out.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] This section provides a qualitative description of the method of FIG. 3 used to construct a regenerative Markov chain with a specified limiting distribution π. Formal statements and proofs of our results can be found in our paper “Practical Regeneration for Markov Chain Monte Carlo Simulation” dated Aug. 14, 2001 available at http://www.stat.cmu.edu/www/cmu-stats/tr/ which is hereby incorporated by reference. The method is to enlarge the state-space from X to:

E=X∪α,

[0020] where α is a new state called an artificial atom. Then it is possible (as described later) to construct a Markov chain {Y_(t), t=0, 1, 2, . . . } with limiting distribution:

π*_(p)(A)=(1−p)π(A\α)+pI _(A)(α)  (1)

[0021] (defined on appropriate subsets A of E) instead of π, where p is some constant in the interval (0, 1). The new limiting distribution π*_(p) is a mixture distribution which assigns mass p to the new state α and mass (1−p) to the original distribution π. For reasons which will become apparent later, the initial state Y₀ is set equal to α. An example of the beginning of a realization of such a chain is shown in FIG. 1.

[0022] Next let τ_(y)(j) denote the jth time after time zero that the chain {Y_(t)} hits the state α, with τ_(y)(0)=0, so that

τ_(y)(j)=min {k>τ_(y)(j−1): Y_(k)=α}, j=1, 2, 3,  (2)

[0023] and define the tours Y¹, Y², . . . to be the segments of the chain between the hitting times, that is

Y^(j)={Y_(t), τ_(y)(j−1)<t≦τ_(y)(j)}, j=1, 2,  (3)

[0024] For example, the first five tours of the chain {Y_(t)} shown in FIG. 1 are Y¹={Y₁, Y₂, Y₃, Y₄, Y₅}, Y²={Y₆, Y₇, Y₈, Y₉}, Y³={Y₁₀}, Y⁴={Y₁₁}, and Y⁵={Y₁₂, Y₁₃, Y₁₄, Y₁₅, Y₁₆}.

[0025] The next step is to recover a regenerative chain with limiting distribution π. Define the chain {Z_(t)} to be exactly the chain {Y_(t)}, with every occurrence of the state α removed. Noting that the state a occurs at the end of each tour Y_(j), this means that {Z_(t)} can be constructed by stringing together the tours Y^(j) whose length is larger than one, after removing the last element (which is equal to α) from each one. Tours Z^(j) of {Z_(t)} are then defined by their correspondence to the truncated tours of {Y_(t)}. Let T_(j) denote the time at which the (j+1)th tour of {Z_(t)} begins, for j=0, 1, 2, . . . (So T₀ is always equal to zero.)

[0026] To illustrate this construction, FIG. 2 shows the first part of the sequence {Z_(t)} corresponding to the (partial) chain {Y_(t)} given in FIG. 1. In this case, the first three tours are Z¹={Y₁, Y₂, Y₃, Y₄}, Z²={Y₆, Y₇, Y₈}), and Z³={Y₁₂, Y₁₃, Y₁₄, Y₁₅,}, the elements of the Markov chain {Z_(t)}, are Z₀=Y₁, Z₁=Y₂, Z₂=Y₃, Z₃=Y₄, Z₄=Y₆ . . . , and the times at which tours of {Z_(t)} begin are T₀=0, T₁=4, T₂=7, . . .

[0027] A formal description of the construction of {Z_(t)} is given in our paper, where we also prove that a chain {Z_(t)} constructed in this manner is an ergodic Markov chain with limiting distribution r, and that the times T₀, T₁, . . . are regeneration points for the chain.

[0028] Often one is interested primarily in estimating h π = ∫ d    h  ( x )   π  ( x )

[0029] for some function h (·). (Assume that h_(π)exists.) Let tours Z_(j), tour lengths N_(j), and cumulative tour lengths T_(j) of the Markov chain {Z_(t)} with limiting distribution π be as defined above. Also let $\begin{matrix} {h_{j} = {\sum\limits_{t = T_{j - 1}}^{T_{j} - 1}{{h\left( Z_{t} \right)}.}}} & (4) \end{matrix}$

[0030] Then Crane and Lemoine (1977), supra, suggest using the ratio estimator $\begin{matrix} {{{\hat{h}}_{n} = \frac{\sum\limits_{j = 1}^{n}h_{j}}{T_{n}}},} & (5) \end{matrix}$

[0031] which converges almost surely to h_(π). Furthermore, since the h_(j)s and the N_(j)s are i.i.d., if they have finite variances, then

{square root}{square root over (n)}(ĥ_(n)−h_(π))

[0032] converges to a N(0, σ²) distribution. Ripley (1987), supra, and Mykland et al. (1995), supra, propose using $\begin{matrix} {{\hat{\sigma}}^{2} = \frac{n{\sum\limits_{j = 1}^{n}\left( {h_{j} - {{\hat{h}}_{n}N_{j}}} \right)^{2}}}{T_{n}^{2}}} & (6) \end{matrix}$

[0033] as an estimator of σ⁻², but only when the coefficient of variation c_(n) of T_(n)/n is sufficiently small (Mykland et al., 1995), supra, suggest that the estimator should not be used if the coefficient is larger than 0.01.) The coefficient of variation c_(n) depends on the distribution of the tour lengths N_(j), which is usually not known. However, it may be estimated by $\begin{matrix} {{{\hat{c}}_{n} = {\sum\limits_{j = 1}^{n}\left( {{N_{j}/T_{n}} - {1/n}} \right)^{2}}},} & (7) \end{matrix}$

[0034] and since c_(n) is proportional to n⁻¹, it is possible, based on an estimate ĉ_(n1), to guess how many additional tours n₂ would be required to ensure that ĉ_(n1+n2) would be less than (say) 0.01.

[0035] Finally, it is worth noting that there are many alternatives to the estimator (5) of hπ. We do not discuss them here, as the method given above is sufficient for our purposes. Instead the reader is referred to Section 7 of Crane and Lemoine (1977), supra, for more details.

[0036] The present invention constructs a regenerative chain {Z_(t)}, relying on the construction of a chain {Y_(t)} with Y₀=α and limiting distribution π*_(p). We next present a simple way, given an existing method for generating a chain with limiting distribution π, of constructing a chain with limiting distribution π*_(p)

[0037] Let the probability of density of π be βf(·), where β is an unknown constant, and suppose that the transition kernel P (·,·) of a “reasonably good” (i.e. well-mixing) Markov chain taking values in X with limiting distribution π, is already known. Let φ(·) denote the probability density of some “re-entry” distribution, satisfying the property that φ(x)>0

f(x)>0, and let p* be some positive constant. Then the algorithm shown in FIG. 3 can be used to construct a Markov chain {Y_(t)} taking values in E, with Y₀=α and limiting distribution π*_(p), where p=βp*(1+βp*)⁻¹.

[0038] Algorithm 1: (See FIG. 3)

[0039] Step 1. Set Y₀=α. Set t=0.

[0040] Step 2. Is Y_(t)=α? If yes, set V=α. If no, chose V∈X by applying the transition kernel P(·,·) to Y_(t).

[0041] Step 3. Choose a proposal point W∈E as follows. If Y_(t)∈X, then set W=α. Otherwise choose W∈X^(d) by sampling from the re-entry density φ.

[0042] Step 4. Compute ${a\left( {V,W} \right)} = \left\{ \begin{matrix} {{\min \left( {1,\frac{\rho*{\varphi (V)}}{f(V)}} \right)},} & {W = \alpha} \\ {{\min \left( {1,\frac{f(W)}{\rho*{\varphi (W)}}} \right)},} & {W \in X} \end{matrix} \right.$

[0043] With probability α(V, W), set Y_(t+1)=W. Otherwise leave Y_(t+1=V.)

[0044] Step 5. t←t+1. Go back to Step 2 unless some end criterion is satisfied.

[0045] Algorithm 1 can be thought of as a hybrid algorithm, which alternates between applying two different probability kernels. The first, applied in Step 2, is a simple extension of a standard kernel for sampling from π. Step 2 is trivial if Y_(t)=α. Otherwise, it involves the application of a standard π-invariant MCMC kernel, such as a Metropolis-Hastings or Gibbs kernel to generate Y_(t+1) from Y_(t). (For a multi-component Metropolis-Hastings sampler or a Gibbs sampler, the kernel represents a complete cycle of component updates.) This extension has invariant distribution π*_(p), with p=βp*(1+βp*)⁻¹, but does not allow the chain to move back and forth between α and X. The second kernel, applied in Steps 3 and 4, also has invariant distribution π*_(p), but allows movement between α and X. In our paper, supra, Appendix A, we prove that the chain {Y_(t)} generated by Algorithm 1 is ergodic with limiting distribution π*_(p.)

[0046] Choice of the parameter p* and the re-entry distribution φ is important. Because Algorithm 2, below, discards tours of length one (which consist only of the state α), it is computationally inefficient to generate a chain with a large number of successive occurrences of the state α. Therefore it is desirable to have high acceptance probabilities for jumps from α back into X. This can be achieved by choosing small values of p* relative to “typical” values of φ(y)/f(y). On the other hand, choosing p* in this manner leads to small probabilities of accepting jumps from X to α, which in turn leads to long tour lengths. If the tour lengths become too long, then Algorithm 2 can take a long time to finish.

[0047] The re-entry distribution φ should be equivalent to the original target distribution π. That is, φ should assign positive mass to a set if and only if π does as well. Typically, φ is chosen by constructing a crude approximation of some sort to the target density π.

[0048] Algorithm 1 is particularly useful because it provides a simple means of “wrapping up” an existing MCMC algorithm for sampling from π to yields a Markov chain with limiting distribution π*_(p). However, Algorithm I does not necessarily improve mixing of the underlying kernel P (·,·) used in Step 2. If the underlying kernel mixes badly, then the resulting chain {Y_(t)} is also likely to mix badly. Of course, Algorithm 1 is not the only way to construct a chain {Y_(t)} with limiting distribution π*_(p). Another approach to constructing such a chain is simply to find the densities of π*_(p) and the proposal distribution with respect to a measure defined on appropriate subsets of the enlarged state-space E, and apply the standard Metropolis-Hastings Algorithm. While that approach may be more direct, it cannot be implemented by constructing a wrapper for a pre-established Markov transition kernel with limiting distribution π.

[0049]FIG. 3 provides a method of generating a Markov chain {Y_(t)} with Y₀=α and limiting distribution π*_(p). Let Q(·, ·) denote the transition probability kernel of this chain. The next step is to use this chain to estimate the expectation (with respect to the probability measure T) of a “function of interest” h(·). Given a desired number of tours M>0, the following algorithm builds on the algorithm of FIG. 3 and uses our method to construct an estimate ĥ_(M) itself.

[0050] Algorithm 2

[0051] Step 1. Initialization: Set Y₀=α, m=0, t=0, T₀=0.

[0052] Step 2. Generate Y_(t+1) given Y_(t) by sampling from Q(Y_(t),·). Replace t by t+1.

[0053] Step 3. Is Y_(t+1)=α? If so, go back to Step 2.

[0054] Step 4. Set n=1. Set x=h(Y_(t+1)).

[0055] Step 5. Generate Y_(t+1) given Y_(t) by sampling from Q(Y_(t),·). Replace t by t+1.

[0056] Step 6. Is Y_(t+1)=α? If so, go to Step 8.

[0057] Step 7. Replace x by x+h(Y_(t+1)). Replace n by n+1. Go back to Step 5.

[0058] Step 8. Replace m by m+1. Set h_(m)=x, N_(m)=n and T_(m)=T_(m−1)+N_(m).

[0059] Step 9. Is m<M? If so, go back to Step 2. Otherwise compute the desired estimate and its estimated variance using equations (5) and (6), respectively.

[0060] In Steps 2 and 5, it is necessary to generate iterations of a Markov chain with limiting distribution π*_(p). Algorithm 1 provides one method of doing that. Intuitively, Algorithm 2 works as follows. It repeatedly generates tours of a Markov chain {Y_(t)} with limiting distribution π*_(p). Tours of length one (that is, tours which consist only of the state α) are thrown out. Remaining tours are truncated just before they hit α so as to become tours of a chain {Z_(t)} with limiting distribution π. The sum over each tour of the function of interest, evaluated at the chain's state, is recorded, as is the length of the tour. Once a total of M tours have been generated, the algorithm terminates, and equations (5) and (6) can be used to obtain the desired estimates.

[0061] Stopping Algorithm 2 at a fixed time and discarding the last incomplete tour would not be a valid approach as that would introduce bias because the discarded tour is more likely to be a long tour than a short tour, and different length tours typically have different probabilistic properties.

[0062] As mentioned previously, regeneration also provides a convenient means of using parallel processing for MCMC simulation. A detailed parallel processing version of Algorithm 2 is given in Appendix B of our paper.

[0063] Before using the variance estimate computed in Step 9 of Algorithm 2, the estimate ĉ_(M) (compare equation (7)) of the coefficient of variation should be checked. The variance estimate should not be considered reliable if ĉ_(m) is too large. Furthermore, it is important to keep in mind that even though Algorithm 2 side-steps the burn-in problem in the sense that there is no point in removing any initial portion of the chain, convergence of estimates ĥ_(n) is still an issue. Consider, for instance, the following example. Suppose that a fair coin toss is being simulated, so that E can be regarded as {H, T, α}, and that a chain {Y_(t)} is constructed using Algorithm 1, with P(H, H) and P(T, T) close to one, and re-entry distribution φ(H)=1−φ(T)=ζ. If ζ is small, then using Algorithm 2, one is likely to observe many length-one tours which consist of the state T, with an occasional long tour consisting mostly of the state H. In this case, if not enough tours are generated, it would be easy to observe only the state T and conclude that the coin never comes up heads. This example also illustrates the dangers of attempting to improve estimates by removing, say, the first few elements of each tour.

[0064] Examples demonstrating the performance of Algorithm 2 are found in our paper, supra.

[0065] Regeneration provides a convenient means of using parallel processing for MCMC simulation. A parallel processing version of Algorithm 2 is now provided.

[0066] Let {Z_(t)} be the Markov chain constructed as described above. The tours {Z^(f), j=1, 2, . . . } of {Z_(t)} are independent of each other. Thus there is no need for them to be generated on a single processor. Suppose there are J processors available as shown in FIG. 4, and that they can construct realizations of tours independently. Now imagine that the first processor constructs some number n₁ of tours, the second processor constructs n₂ tours, and so on. If the tours generated on the processors are collected together and concatenated (in some order which is chosen independently of the tours themselves), then the resulting sequence is a realization of a single Markov chain with limiting distribution π, with a total of $\sum\limits_{j = 1}^{J}n_{j}$

[0067] tours.

[0068] In light of these observations, we can state the following parallel or distributed processing version of Algorithm 2. Let a first processor, the server I in FIG. 4, be designated as the “master processor” and all other processors 2 through P be designated as “slaves”. The transition kernel P(x, A) is assumed to be the transition kernel for a Markov chain taking values in E with limiting distribution π*_(p).

[0069] Algorithm 3: Master Process

[0070] Step 1. Send requests for pairs (h₁, N₁), . . . , (h _(—) ⁻¹, N _(—) ⁻¹) to slave processes 2 to J, respectively. Set k=F. Set n=0. Mark all slave processes as “busy”.

[0071] Step 2. Wait for any slave to return its pair. Replace n by n+1 and mark the slave as “free”.

[0072] Step 3. If n=M, then go to Step 6.

[0073] Step 4. If k<M, send a new request to the freed slave to return the pair (h_(k), N_(k)), mark the slave as busy again, and replace k by k+1.

[0074] Step 5. Go back to Step 2.

[0075] Step 6. Terminate all the slave processes. Compute ĥ_(M) and its estimated variance {circumflex over (σ)}²=/M using equations (5) and (6), respectively.

[0076] Algorithm 4: Slave Process

[0077] Step 1. Wait for a request from the master process for a pair (h_(j), N_(j)).

[0078] Step 2. Generate a portion {Y_(t)} of a Markov chain with transition kernel P(·,·), starting with Y₀=α. Run the chain until it hits a again and let this (second) hitting time be denoted T.

[0079] Step 3. If τ=1, then discard the values {Y₀, Y₁} and go back to Step 2.

[0080] Step 4. Compute $h_{j} = {{\sum\limits_{k = 1}^{r - 1}{{h\left( Y_{k} \right)}\quad {and}\quad N_{j}}} = {\tau - 1.}}$

[0081] Return the pair (h_(j), N_(j)) to the master process and go back to Step 1.

[0082] Note that it is desirable that random number generators on separate processors generate independent sequences of random variables. That is an easy rule to violate, because it is often the case that a process replicated on several machines will use the same pseudo-random number generator with the same seed. A simple (although not ideal) solution is to use a different seed for the generator on each separate processor.

[0083] Details on writing code for use with a regenerative MCMC simulation library available at Carnegie Mellon University are found in “Instructions for Using the Regenerative MCMC Simulation Library” by Anthony Brockwell, dated Mar. 26, 2002 and available at http://lib.stat.cmu.edu/general which is hereby incorporated by reference.

[0084] While the present invention has been described in connection with preferred embodiments thereof, those of ordinary skill in the art will recognize that many modifications and variations are possible. The present invention is intended to be limited only by the following claims and not by the foregoing description which is intended to set forth the presently preferred embodiment. 

What is claimed is:
 1. A method of generating random samples from a Markov chain, comprising: enlarging an initial state space by an artificial point to produce an enlarged state space; and producing a Markov chain for the enlarged state space, excluding occurrences of the artificial point from the chain.
 2. The method of claim 1 wherein said producing a Markov chain includes generating a first Markov chain for the enlarged state space and generating a second Markov chain for the original state space by removing occurrences of the artificial point from the first Markov chain.
 3. The method of claim 2 wherein said generating a first Markov chain includes generating a plurality of first Markov chains in a distributed manner and wherein said generating a second Markov chain includes generating a plurality of second Markov chains.
 4. The method of claim 3 additionally comprising combining said plurality of second Markov chains.
 5. The method of claim 3 wherein said generating a plurality of first Markov chains includes generating said plurality with a plurality of computers, said method additionally comprising setting each computers' random number seed differently.
 6. A method of generating a plurality of random samples from a Markov chain, comprising: combining an initial state space with an artificial point to produce an enlarged state space; generating a Markov chain for the enlarged state space; and discarding occurrences of the point mass from the Markov chain.
 7. The method of claim 6 wherein said generating a Markov chain includes generating a plurality of first Markov chains in a distributed manner, and wherein said discarding occurrences of the point mass from each of said plurality of first Markov chains produces a plurality of second Markov chains.
 8. The method of claim 7 additionally comprising combining said plurality of second Markov chains.
 9. The method of claim 7 wherein said generating a plurality of first Markov chains includes generating said plurality with a plurality of computers, said method additionally comprising setting each computers' random number seed differently.
 10. A method of constructing a Markov chain for a Monte Carlo simulation in a distributed manner with a plurality of interconnected computers, said method comprising: setting a random number seed on each of a plurality of computers differently; enlarging an initial state space by an artificial point to produce an enlarged state space; generating a plurality of first Markov chains for the enlarged state space with said plurality of computers; removing occurrences of the artificial point from the first plurality of Markov chains to generate a plurality of second Markov chains; and combining said plurality of second Markov chains.
 11. The method of claim 10 wherein said removing of occurrences is performed by each of said plurality of computers.
 12. The method of claim 11 wherein said combining is performed by a computer designated as a master computer.
 13. The method of claim 10 wherein said removing of occurrences is performed by a computer designated as a master computer.
 14. The method of claim 13 wherein said combining is performed by the master computer.
 15. A memory device carrying a set of instructions which, when executed, performs a method comprising: enlarging an initial state space by an artificial point to produce an enlarged state space; generating a plurality of first Markov chains for the enlarged state space with a plurality of computers; removing occurrences of the artificial point from the first plurality of Markov chains to generate a plurality of second Markov chains; and combining said plurality of second Markov chains.
 16. The memory of claim 15 wherein said instructions enable said removing of occurrences to be performed by each of said plurality of computers.
 17. The memory of claim 16 wherein said instructions enable a computer designated as a master computer to perform said combining.
 18. The memory of claim 15 wherein said instructions enable said removing of occurrences to be performed by a computer designated as a master computer.
 19. The memory of claim 18 wherein said instructions enable said combining-to be performed by the master computer.
 20. The memory of claim 15 wherein said instructions enable a random number seed on each of said plurality of computers to be set uniquely. 